Content Aggregation

ABSTRACT

A content management system may assist users in managing consumption of content, such as television programs. Primary content may be segmented into portions, where a secondary content is interspersed between a first portion and a second portion of the primary content. The first portion and the second portion may be aggregated sequentially.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of and claims priority to U.S. patentapplication Ser. No. 16/108,744, filed on Aug. 22, 2018, which is acontinuation of U.S. patent application Ser. No. 13/831,009 (now U.S.Pat. No. 10,085,071), filed on Mar. 14, 2013, the content of each ofwhich is incorporated herein by reference in its entirety.

BACKGROUND

With the number of users having access to digital video recorders (DVRs)and the like, users have the ability to create vast amounts of storedcontent. However, the ability to store recorded content is limited, andthere remains a need to assist users in using their storage space andcontent more effectively.

SUMMARY

The following summary is for illustrative purposes only, and is notintended to limit or constrain the detailed description.

In some embodiments, a system may receive primary content segmented intoportion. An example of the primary content may be an episode of atelevision program. Commercial content may be interspersed between theportions of the primary content. In an aspect, there may be differenttypes or versions of the primary content.

In an aspect, commercial content may include content such as commercialsor other advertisements. In such an example, the primary content isdifferent content from the commercial content. The system may receive auser request to schedule a recording of the primary content, e.g., theepisodic content that has commercials interspersed among and/or betweenportions of the episodic content. A local or remote recording device,such as a digital video recorder, may record the primary content. Theportions of the primary content may be aggregated sequentially. Finally,the recording of the aggregated content may be maintained and precededby additional content. The additional content may be one or morecommercials so that a user accessing the episodic content can watch theentire episodic content without commercial interruption by watching oneor more, or all, commercials prior to the episodic content.

In some embodiments, the system may detect the ends of portions ofepisodic content and the beginning of portions of commercial content aswell as detecting the ends of portions of commercial content and thebeginning of episodic content. Detection of ending and beginning pointsof content may be based upon data received on time intervals forcommercial content that may be received from content sources or from adatabase of known time intervals for insertion of commercial content.

In other embodiments, when scheduling a recording of primary content, auser may be provided an option for aggregating commercials interspersedin the primary content as well as aggregating the primary content. Then,the system may maintain the primary content preceded by the aggregatedcommercials or by other content.

The summary here is not an exhaustive listing of the novel featuresdescribed herein, and are not limiting of the claims. These and otherfeatures are described in greater detail below.

BRIEF DESCRIPTION OF THE DRAWINGS

These and other features, aspects, and advantages of the presentdisclosure will become better understood with regard to the followingdescription, claims, and drawings. The present disclosure is illustratedby way of example, and not limited by, the accompanying figures in whichlike numerals indicate similar elements.

FIG. 1 illustrates an example network on which various featuresdescribed herein may be used.

FIG. 2 illustrates an example computing device that can be used toimplement any of the methods, servers, entities, and computing devicesdescribed herein.

FIG. 3 illustrates an example content storage hierarchy.

FIGS. 4A-4C illustrate example transmission and recording timelines forcontent.

FIG. 5 illustrates an example process flow for implementing variousfeatures described herein.

FIG. 6 illustrates an example interface that may be presented to a userin aspects described herein.

FIG. 7 illustrates another example interface that may be presented to auser in aspects described herein.

FIG. 8 illustrates an example process flow for implementing variousfeatures described herein.

DETAILED DESCRIPTION

In the following description of various illustrative embodiments,reference is made to the accompanying drawings, which form a parthereof, and in which is shown, by way of illustration, variousembodiments in which aspects of the disclosure may be practiced. It isto be understood that other embodiments may be utilized, and structuraland functional modifications may be made, without departing from thescope of the present disclosure.

FIG. 1 illustrates an example communication network 100 on which many ofthe various features described herein may be implemented. Network 100may be any type of information distribution network, such as satellite,telephone, cellular, wireless, etc. One example may be an optical fibernetwork, a coaxial cable network, or a hybrid fiber/coax distributionnetwork. Such networks 100 use a series of interconnected communicationlinks 101 (e.g., coaxial cables, optical fibers, wireless, etc.) toconnect multiple premises 102 (e.g., businesses, homes, consumerdwellings, etc.) to a local office or headend 103. The local office 103may transmit downstream information signals onto the links 101, and eachpremises 102 may have a receiver used to receive and process thosesignals.

There may be one link 101 originating from the local office 103, and itmay be split a number of times to distribute the signal to variouspremises 102 in the vicinity (which may be many miles) of the localoffice 103. The links 101 may include components not illustrated, suchas splitters, filters, amplifiers, etc. to help convey the signalclearly. Portions of the links 101 may also be implemented withfiber-optic cable, while other portions may be implemented with coaxialcable, other lines, or wireless communication paths.

The local office 103 may include an interface, such as a terminationsystem (TS) 104. More specifically, the interface 104 may be a cablemodem termination system (CMTS), which may be a computing deviceconfigured to manage communications between devices on the network oflinks 101 and backend devices such as servers 105-107 (to be discussedfurther below). The interface 104 may be as specified in a standard,such as the Data Over Cable Service Interface Specification (DOCSIS)standard, published by Cable Television Laboratories, Inc. (a.k.a.CableLabs), or it may be a similar or modified device instead. Theinterface 104 may be configured to place data on one or more downstreamfrequencies to be received by modems at the various premises 102, and toreceive upstream communications from those modems on one or moreupstream frequencies.

The local office 103 also may include one or more network interfaces108, which can permit the local office 103 to communicate with variousother external networks 109. These networks 109 may include, forexample, networks of Internet devices, telephone networks, cellulartelephone networks, fiber optic networks, local wireless networks (e.g.,WiMAX), satellite networks, and any other desired network, and thenetwork interface 108 may include the corresponding circuitry needed tocommunicate on the external networks 109, and to other devices on thenetwork such as a cellular telephone network and its corresponding cellphones.

As noted above, the local office 103 may include a variety of servers105-107 that may be configured to perform various functions. Forexample, the local office 103 may include a push notification server105. The push notification server 105 may generate push notifications todeliver data and/or commands to the various premises 102 in the network(or more specifically, to the devices in the premises 102 that areconfigured to detect such notifications). The local office 103 may alsoinclude a content server 106. The content server 106 may be one or morecomputing devices that are configured to provide content to users attheir premises. This content may be, for example, video on demandmovies, television programs, songs, text listings, etc. The contentserver 106 may include software to validate user identities andentitlements, to locate and retrieve requested content, to encrypt thecontent, and to initiate delivery (e.g., transmission) of the content tothe requesting user(s) and/or device(s).

The local office 103 may also include one or more application servers107. An application server 107 may be a computing device configured tooffer any desired service, and may run various languages and operatingsystems (e.g., servlets and JSP pages running on Tomcat/MySQL, OSX, BSD,Ubuntu, Redhat, HTML5, JavaScript, AJAX and COMET). For example, anapplication server may be responsible for collecting television programlistings information and generating a data download for electronicprogram guide listings. Another application server may be responsiblefor monitoring user viewing habits and collecting that information foruse in selecting advertisements. Yet another application server may beresponsible for formatting and inserting advertisements in a videostream being transmitted to the premises 102. Although shown separately,one of ordinary skill in the art will appreciate that the push server105, content server 106, and application server 107 may be combined.Further, here the push server 105, content server 106, and applicationserver 107 are shown generally, and it will be understood that they mayeach contain memory storing computer executable instructions to cause aprocessor to perform steps described herein and/or memory for storingdata.

An example premises 102 a, such as a home, may include an interface 120.The interface 120 can include any communication circuitry needed toallow a device to communicate on one or more links 101 with otherdevices in the network. For example, the interface 120 may include amodem 110, which may include transmitters and receivers used tocommunicate on the links 101 and with the local office 103. The modem110 may be, for example, a coaxial cable modem (for coaxial cable lines101), a fiber interface node (for fiber optic lines 101), twisted-pairtelephone modem, cellular telephone transceiver, satellite transceiver,local Wi-Fi router or access point, or any other desired modem device.Also, although only one modem is shown in FIG. 1, a plurality of modemsoperating in parallel may be implemented within the interface 120.Further, the interface 120 may include a gateway interface device 111.The modem 110 may be connected to, or be a part of, the gatewayinterface device 111. The gateway interface device 111 may be acomputing device that communicates with the modem(s) 110 to allow one ormore other devices in the premises 102 a, to communicate with the localoffice 103 and other devices beyond the local office 103. The gateway111 may be a set-top box (STB), digital video recorder (DVR), computerserver, or any other desired computing device. The gateway 111 may alsoinclude (not shown) local network interfaces to provide communicationsignals to requesting entities/devices in the premises 102 a, such asdisplay devices 112 (e.g., televisions), additional STBs 113, personalcomputers 114, laptop computers 115, wireless devices 116 (e.g.,wireless routers, wireless laptops, notebooks, tablets and netbooks,cordless phones (e.g., Digital Enhanced Cordless Telephone—DECT phones),mobile phones, mobile televisions, personal digital assistants (PDA),etc.), landline phones 117 (e.g. Voice over Internet Protocol—VoIPphones), and any other desired devices. Examples of the local networkinterfaces include Multimedia Over Coax Alliance (MoCA) interfaces,Ethernet interfaces, universal serial bus (USB) interfaces, wirelessinterfaces (e.g., IEEE 802.11, IEEE 802.15), analog twisted pairinterfaces, Bluetooth interfaces, and others.

FIG. 2 illustrates general hardware elements that can be used toimplement any of the various computing devices discussed herein. Thecomputing device 200 may include one or more processors 201, which mayexecute instructions of a computer program to perform any of thefeatures described herein. The instructions may be stored in any type ofcomputer-readable medium or memory, to configure the operation of theprocessor 201. For example, instructions may be stored in a read-onlymemory (ROM) 202, random access memory (RAM) 203, removable media 204,such as a Universal Serial Bus (USB) drive, compact disk (CD) or digitalversatile disk (DVD), floppy disk drive, or any other desired storagemedium. Instructions may also be stored in an attached (or internal)hard drive 205. The computing device 200 may include one or more outputdevices, such as a display 206 (e.g., an external television), and mayinclude one or more output device controllers 207, such as a videoprocessor. There may also be one or more user input devices 208, such asa remote control, keyboard, mouse, touch screen, microphone, etc. Thecomputing device 200 may also include one or more network interfaces,such as a network input/output (I/O) circuit 209 (e.g., a network card)to communicate with an external network 210. The network input/outputcircuit 209 may be a wired interface, wireless interface, or acombination of the two. In some embodiments, the network input/outputcircuit 209 may include a modem (e.g., a cable modem), and the externalnetwork 210 may include the communication links 101 discussed above, theexternal network 109, an in-home network, a provider's wireless,coaxial, fiber, or hybrid fiber/coaxial distribution system (e.g., aDOCSIS network), or any other desired network. Additionally, the devicemay include a location-detecting device, such as a global positioningsystem (GPS) microprocessor 211, which can be configured to receive andprocess global positioning signals and determine, with possibleassistance from an external server and antenna, a geographic position ofthe device.

The FIG. 2 example is a hardware configuration, although the illustratedcomponents may be implemented as software as well. Modifications may bemade to add, remove, combine, divide, etc. components of the computingdevice 200 as desired. Additionally, the components illustrated may beimplemented using basic computing devices and components, and the samecomponents (e.g., processor 201, ROM storage 202, display 206, etc.) maybe used to implement any of the other computing devices and componentsdescribed herein. For example, the various components herein may beimplemented using computing devices having components such as aprocessor executing computer-executable instructions stored on acomputer-readable medium, as illustrated in FIG. 2. Some or all of theentities described herein may be software based, and may co-exist in acommon physical platform (e.g., a requesting entity can be a separatesoftware process and program from a dependent entity, both of which maybe executed as software on a common computing device).

One or more aspects of the disclosure may be embodied in acomputer-usable data and/or computer-executable instructions, such as inone or more program modules, executed by one or more computers or otherdevices. Generally, program modules include routines, programs, objects,components, data structures, etc. that perform particular tasks orimplement particular abstract data types when executed by a processor ina computer or other data processing device. The computer executableinstructions may be stored on one or more computer readable media suchas a hard disk, optical disk, removable storage media, solid statememory, RAM, etc. As will be appreciated by one of skill in the art, thefunctionality of the program modules may be combined or distributed asdesired in various embodiments. In addition, the functionality may beembodied in whole or in part in firmware or hardware equivalents such asintegrated circuits, field programmable gate arrays (FPGA), and thelike. Particular data structures may be used to more effectivelyimplement one or more aspects of the disclosure, and such datastructures are contemplated within the scope of computer executableinstructions and computer-usable data described herein.

FIG. 3 illustrates an example content storage hierarchy. Featuresdescribed herein may involve a multiple-level hierarchy of devices thatcan be used to assist in storing a user's content. A content storagedevice that a user uses to consume and/or store content may be locatedwithin a user's home premises 102 a and may be operatively connected toa controller, which may be located upstream from a user's home premises,such as at a local office 103. For example, a hard drive storage 313 ona user device 301, such as a DVR, that is used to play recorded videoprograms, or the FLASH memory of a laptop 115 or tablet 116 computer, ora storage device associated with a local or home network. Such a contentstorage device is quickly and easily accessible by the consumptiondevice, which may also minimize the need for network bandwidth. Largerstorages are available at other devices, such as a network computingdevice, e.g., a DVR application server, which may be an applicationserver 107 located at the local office 103. An nDVR server may have alarge array of storage capacity, such as multiple arrays of large harddrives, FLASH memories, and other forms of storage. Althoughillustrative examples described herein are directed to a DVR type devicelocated within a home premises of a user, other devices, such as an nDVRserver type device may be similarly utilized to perform one or moreoperations described herein.

As shown in FIG. 3, a controller 303 is operatively connected to contentsource infrastructure or content source 305, a time interval database307, and a user device 301. In this example, user device 301 isdescribed as a user device 301 in her home premises 102 a. Although notexplicitly shown in FIG. 3, the connections between the variouscomponents may be through one or more other components includingnetworks, such as network 210 and network of links 101. Asillustratively shown, controller 303 may be configured to obtainsecondary content (commercials) time intervals for a given primarycontent (e.g., a show) from multiple possible sources. In one example,content source 305 may be queried by the controller 303 to retrieve thespecific time intervals (start/stop times) for each selected show'scommercial breaks. Content source 305 may be one or more devicesconfigured to insert secondary content into primary content fordistribution to one or more users. Primary content may be an episodictelevision program and secondary content may be one or more commercials.

In another example, a time interval database 307, similar or as part ofan electronic program guide, may be queried to obtain the commercialtime intervals. Such an example of archiving the time intervals ofcommercials on a server-based repository may allow for more efficientprocessing. Time interval database 307 may be one or more devicesconfigured to maintain secondary content for insertion into primarycontent for distribution to one or more users. Time interval database307 may include one or more tables of secondary content associated withone or more primary content. Time interval database may associatesecondary content specific to a particular primary content or mayassociate secondary content based upon some other parameter, such astime of day, day of week, a desired time interval length for thesecondary content, and the like. As such, controller 303 may receivedata identifying commercial breaks with respect to any given primarycontent for distribution to a user device 301 as needed.

For episodic content where the specific time for commercial breaks areknown to occur at exact specific time intervals within a distributionstream well ahead of the actual transmission of the content, controller303 may be configured to pull such data at the time of preparation oftransmission of the primary content from one of the content source 305and/or the time interval database 307. Alternatively, many liveprograms, such as football and basketball games, do not have specifictimes for commercial breaks. In such cases, there is usually a timeframe that commercials are to occur, e.g., at time outs, when there is acertain amount of time left in a quarter or half, or at the end of aperiod of play. As such, controller 303 may be configured to retrievesuch data from content source 305 and/or time interval database 307shortly before transmission of the content to users.

User device 301 is shown to include various components for acquisitionof user desired content, storage of the user desired content, andplayback of the user desired content. Memory 313 may be a hard drive forstorage of one or more assets of content that a user desired to maintainin the user device 301. As described herein, such assets may be episodiccontent with secondary content, such as commercials interspersed betweenportions of the episodic content. FIG. 4A illustrates an exampletimeline of transmission content for a one hour period from time “t” totime “t+60.” Such an example may include a one hour episode of atelevision program that is distributed from 8 pm to 9 pm. In thisexample, there are four portions, primary content portion 1 411, primarycontent portion 2 415, primary content portion 3 419, and primarycontent portion 4 423. Interspersed between portions of the primarycontent are secondary content 413, 417, and 421. Secondary content maybe one or more different commercials. As such, each secondary content413, 417, and 421 may be of a different duration of time. Similarly,primary content portion 1 411, primary content portion 2 415, primarycontent portion 3 419, and primary content portion 4 423 may be of adifferent duration of time. For example, primary content portion 1 maybe of a longer duration of time than primary content portion 4.Therefore, memory 313 in user device 301 may be configured to maintainthe entire one hour period with the portions of primary content andinterspersed commercials in the same time sequence as they weredistributed to users. Memory 313 of user device 301 may be configured tobuffer the portions of primary content and commercial breaks until thetelevision program is over. Then, the data may be assembled into an MPEGfile for storage in memory 313.

In still other examples as described herein, assets may be portions ofepisodic content aggregated together and accompanied with secondarycontent that may be aggregated commercials or other content thatprecedes the aggregated episodic content sequentially. FIG. 4Billustrates an example timeline of stored content for a one hour periodfrom time “t” to time “t+60.” Such an example may include a one hourepisode of a television program that is distributed from Bpm to 9 pm. Inthis example, there are four portions, primary content portion 1 411,primary content portion 2 415, primary content portion 3 419, andprimary content portion 4 423. Preceding the portions of the primarycontent in time sequence are secondary content 413, 417, and 421.Secondary content may be one or more different commercials that wereinterspersed between the portions of the primary content whendistributed. In this example, memory 313 in user device 301 may beconfigured to maintain the entire one hour period with the primarycontent portions preceded by the interspersed commercials.

In yet another example, interspersed secondary content may be removedand different secondary content may be included. FIG. 4C illustrates anexample timeline of stored content for a one hour period from time “t”to time “t+60.” Such an example may include a one hour episode of atelevision program that is distributed from Bpm to 9 pm. In thisexample, there are four portions, primary content portion 1 411, primarycontent portion 2 415, primary content portion 3 419, and primarycontent portion 4 423. Preceding the portions of the primary content intime sequence is secondary content 431. Secondary content may be one ormore different commercials than those that were interspersed between theportions of the primary content when distributed. Secondary content 431may be content locally stored on user device 301 and/or may be contentretrieved from controller 303 and/or some other external source. In thisexample, memory 313 in user device 301 may be configured to maintain theprimary content portions preceded by secondary content.

User device 301 also includes a playback component 315. Playbackcomponent 315 may be one or more devices and/or circuits for allowing auser to playback content that has been recorded by a record component321 and/or maintained in memory 313. Playback component 315 may includecertain trick play features to allow a user to fast forward through somecontent, to pause the playback of content, to rewind the content to anearlier point in a maintained content, and to skip ahead or skip back toa different point in the maintained content. User device 301 includes arecord component 321. Record component 321 may be one or more devicesand/or circuits for allowing for the recording of distributed contentreceived from an external source, such as a local office 103. Recordcomponent 321 may be configured to record content that is eventuallymaintained in memory 313. Record component 321 may be operable withmemory 313 and aggregation component 311 to record content in portionsfor eventual aggregation and storage in memory 313.

User device 301 also includes aggregation component 311. Aggregationcomponent 311 may be one or more devices and/or circuits for combiningcertain content into an aggregated set of content. For example,aggregation component 311 may operate to aggregate primary contentportion 1 411, primary content portion 2 415, primary content portion 3419, and primary content portion 4 423 from FIG. 4A into the aggregatedset shown in FIG. 4B or FIG. 4C. Similarly, aggregation component 311may operate to aggregate various secondary content, e.g., commercialbreaks, such as secondary content 413, 417, and 421 in FIG. 4A into anaggregated set as shown in FIG. 4B. Aggregation component 311 may beconfigured to aggregate content that is eventually maintained in memory313. In some embodiments, in conjunction with content retrievalcomponent 319, other secondary content that was not interspersedcommercial breaks included with primary content but was received throughretrieval component 319 may be maintained in memory 313. In such asituation, the other secondary content retrieved from content retrievalcomponent 319 may precede the aggregated portions of primary contentwhen maintained in memory 313, such as shown in FIG. 4C. Aggregationcomponent 311 may be configured to receive time interval datarepresentative of commercial breaks in the primary content. Such timeinterval data may be detected in the distributed transmission and may bereceived by controller 303 from content source 305 and/or time intervaldatabase 307. Aggregation component 311 may be configured to detect whena portion of primary content ends and when a portion of a commercialbreak begins. Similarly, aggregation component 311 may be configured todetect when a commercial break ends and when a portion of primarycontent begins.

In another embodiment, storage of portions of primary content and/orcommercial breaks may include storing the portions separately asseparate MPEG files in memory 313 of user device 301. Then, during aplayback operation by a user, the user device 301 may be configured tohave the aggregation component 311 aggregate the various portions of theprimary content together as an option to the user and have thataggregated set be preceded by the portions of commercial breaks and/orother content as described herein. As described herein, the aggregationof portions of primary and/or secondary content may occur as atelevision program is being recorded, immediately after have atelevision program has ended, or even much later as part of the playbackprocess.

User device 301 further includes content retrieval component 319.Content retrieval component 319 may be one or more devices and/orcircuits for obtaining certain content to be maintained with othercontent, such as aggregated episodic content, in memory 313. Contentretrieval component 319 may be configured to retrieve a block ofsecondary content from an external source, such as through controller303, and/or from an internal memory source, such as in memory 313.Content retrieval component 319 may be utilized when a secondarycontent, that is not distributed commercials interspersed betweenportions of distributed primary content, is to be maintained in memory313 along with aggregated portions of primary content. For example, whena user desired to watch an entire episode without commercial break,content retrieval component 319 may retrieve one single commercial formaintenance with the entire episode in memory 313. The commercialretrieved by content retrieval component 319 may include one or more ofthe distributed commercial breaks that were interspersed betweenportions of the primary content desired to be recorded by the user.

User device 301 also is shown to include a UI component 317. UIcomponent 317 may be configured to allow for interaction of a user withthe user device 301. UI component 317 may include hardware, software,and/or combinations to receive inputs from a user and provide outputs toa user. UI component 317 may include a an ability to output a userinterface for permitting a user to record content distributed to theuser device 301 whether currently or in the future.

A piece of video content, such as a television program, being viewed bya user may be interrupted for a commercial break. At that time or anytime before or after, a user may request through a pop-up window anoption to view the entire content without interspersed commercials. Ascreen such as that shown in FIG. 6 may be used to display the optionfor a user. As shown, currently viewed content may be shown in box 610.For example, a user may be watching episodic content and a commercial iscurrently being shown. In this example, the commercial being shown wouldbe shown in box 610. An overlay for recording options provides someoptions for a user that wants to record the episode and maintain it inmemory 313 of user device 301. The first option may be a button 620 thatallows a user to record the current episodic content program with theinterspersed commercials just as they are distributed to the user. If auser does not care to have the primary content of the episodic contentprogram aggregated together without commercial breaks, the user mayselect the option of button 620.

Alternatively, the user may be prompted by button 630 that allows theuser to record the current episodic content program without thecommercials interspersed between primary content. If a user does notwant commercial interruption in the primary content of the episodiccontent program, the primary content may be aggregated together withoutinterspersed commercial breaks and the commercial breaks may beaggregated together to precede the aggregated primary content in storagein the memory 313. Alternatively the primary content may be aggregatedtogether without interspersed commercial breaks, and other secondarycontent, such as may be obtained from content retrieval component 319,may precede the aggregated primary content in storage in the memory 313.As a trade-off for this functionality—to have the entire primary contentwithout interspersed commercial content—a non-skippable advertisementsegment could be inserted into the beginning and/or end or other portion(e.g., prior to a climactic scene) of the recorded primary content. Ifthe commercial-less recording was started in the middle of a televisionshow (for example, as a result of selecting button 630 from the overlaydescribed in FIG. 6) any of the television show which was available inthe live on disk buffer from the guide may be inserted into thecommercial-less primary content for storage.

Returning to FIG. 3, user device 301 is shown to be operativelyconnected to some type of cloud storage 309, such as a cloud DVR. Cloudstorage 309 allows for the functions of a user's home DVR to occur via acloud network of a service provider. In some embodiments, cloud storage309 may perform one or more of the features of user device 301 and/ormay include one or more of the components of user device 301 asdescribed herein. For example, a user may play back a television programand have commercials aggregated together upfront. The cloud storage 309may distribute the requested content to the user in the requestedformat, e.g., having all commercial content upfront.

FIG. 5 illustrates an example process of managing content. The processmay be performed by one or more computing devices, such as theconsumption device 113/115/116, user device 301, cloud storage 309,archive storage devices, controller 303, content source 305, and timeinterval database 307, alone or in combination. The discussion belowrefers to the steps being performed by one or a combination of thesedevices, but the system herein may be distributed among a variety ofdevices, and the steps may be performed, individually or in combination,by any other networked device if desired, so the description herein maysimply refer to the system performing the various steps. In step 501,distributed primary content with interspersed secondary content, e.g.commercials, are received by a computing device, such as user device301. The distributed primary content with interspersed commercials maybe processed by a date processing facility, such as a local office 103.

In step 502, a determination may be made as to whether a user requesthas been received to record or otherwise stored a currently distributedor future scheduled primary content. In one example, the user mayrequest to record a television show that the user is watching. Inanother example, the user may request the recording of a television showin the future. If a request is not received, the process may return tostep 501. If such a request to record primary content is received, theprocess moves to step 503. In step 503, a first portion of primarycontent may be recorded. Such a recording may occur by the user device301 in FIG. 3 or another device, e.g., cloud DVR. The request to recordthe primary content may be through a user interface such as theillustrative screen shown in FIG. 6. With respect to the example shownin FIG. 4A, primary content portion 1 411 may be the first portion to berecorded in step 503. Memory 313 of user device 301 may be configured tobuffer the primary content and commercials until the television programis over. Then, the data can be assembled into an MPEG file.

Moving to step 504, a determination may be made as to whether an end ofa portion of the primary program being recorded and/or a beginning of acommercial break has been detected. Such time interval data for when aportion ends and/or when a portion begins may be obtained from thecontent itself (e.g., metadata), or content source 305 and/or timeinterval database 307. The determination can also be made based onmarkers in the video stream, such as an identification in packetscontaining the different portions. If such a detection had not yetoccurred, the process may return to step 503. When such a detection doesoccur, the process moves to step 505. In step 505, a determination maybe made as to whether the previously recorded portion was the finalportion of the primary content. For example, such a determination may bemade as to whether a new episodic primary content has started (e.g., nowit is 9 pm and a new television show has started). If the portion wasthe last portion of the primary content, the process may proceed to step508. If the portion was not the last portion, the process may proceed tostep 506.

In step 506, the commercial content may be recorded. The commercialcontent may be one or more commercials or any other data inserted intothe main content (e.g., supplemental and/or interactive data) that makeup a commercial break. Such a commercial break may be interspersedbetween portions of a television program or the primary content. Thecommercial content may be any type of advertisement and/or content thatis not the primary content, e.g., the episodic television show itself.Proceeding to step 507, a determination may be made as to whether an endof the commercial break being recorded and/or a beginning of a nextportion of the primary content has been detected. Such time intervaldata for when a portion ends and/or when a portion begins may beobtained from the content, content source 305 and/or time intervaldatabase 307. If such a detection had not yet occurred, the process mayreturn to step 506. When such a detection does occur, the processreturns to step 503 to record the next portion of the primary content.

When proceeding to step 508 from step 505, the portions of the primarycontent that were recorded may be aggregated together in a sequentialmanner so that the primary content does not include interspersedcommercial content. In one aspect, aggregation component 311 may operatestep 508. Step 508 may include aggregating multiple portions of primarycontent, such as primary content portion 1 411, primary content portion2 415, primary content portion 3 419, and primary content portion 4 423from FIG. 4A, into an aggregated sequential set of portions of primarycontent without interspersed commercial breaks, such as shown in FIG. 4Band FIG. 4C. As part of the offering to allow a user to record atelevision program without interspersed commercial breaks, themaintained recording may include secondary content that precedes therecorded primary content as described herein.

In step 509, a determination may be made as to whether the interspersedcommercial breaks included with the primary content in step 501 are toremain/be included in the maintained recording of the primary content.An example of gathering and including the interspersed commercial breaksas a preceding set of content to the primary content is shown in FIG.4B. If the determination from step 509 is to not include theinterspersed commercial content, the process moves to step 511.Alternatively, if the determination from step 509 is to include theinterspersed commercial content from step 501, the process moves to step510. The determination of step 509 may be implemented by a userinterface provided to a user and a response received from the user. Sucha user interface screen is shown in FIG. 7. As shown, currently viewedcontent may be shown in box 710. For example, a user may be watchingepisodic content and a commercial is currently being shown. In thisexample, the commercial being shown would be shown in box 710. Anoverlay for recording options provides some options for a user thatwants to record the episode and maintain it in memory 313 of user device301. The first option may be a button 720 that allows a user to recordthe current episodic content program with the interspersed commercialspreceding the primary content of the episode. If a user prefers to havethe primary content of the episodic content program aggregated togetherwith the original commercial that were distributed with the primarycontent, the user may select the option of button 720.

Alternatively, the user may be prompted by button 730 that allows theuser to record the current episodic content program without thecommercials interspersed between primary content and rather to haveother secondary content preceding the primary content. The primarycontent may be aggregated together without interspersed commercialbreaks and other secondary content, such as may be obtained from contentretrieval component 319, may precede the aggregated primary content instorage in the memory 313. As a trade-off for this functionality—to havethe entire primary content without interspersed commercial content—anon-skippable advertisement could be inserted into the beginning,middle, and/or end of the recorded primary content or at another portionsuch as a climactic or intriguing scene, as a condition for delivery orpresentation of the primary content. If the commercial-less recordingwas started in the middle of a television show (for example, as a resultof selecting button 730) any of the television show which was availablein the live on disk buffer from the guide may be inserted into thecommercial-less primary content for storage.

Returning to FIG. 5, in step 510, the commercial breaks, which wererecorded in step 506, may be aggregated together for maintaining withthe aggregated primary content from step 508 in a memory of a userdevice, such as memory 313 of user device 301 in FIG. 3. Aggregationcomponent 311 may operate step 510. Step 510 may include aggregatingmultiple portions of secondary content, such as secondary content 413,secondary content 417, and secondary content 421 from FIG. 4A, into anaggregated set of portions of secondary content, such as shown in FIG.4B.

In step 511, the aggregated portions of primary content may be combinedwith additional content that precedes the aggregated primary content. Ifthe additional content is the aggregated recorded commercial contentfrom step 510 that was interspersed with the primary content portions instep 501, such as shown in FIG. 4B, the recorded commercial content fromstep 506 that was aggregated in step 510 is combined with the aggregatedprimary content from step 508. The aggregated commercial content fromstep 510 would precede the aggregated primary content, such as shown inFIG. 4B. If the additional content is not the aggregated recordedcommercial content from step 510 (such as preceding from step 509directly to step 511), but rather other secondary content (which maystill be one or more commercials), such as shown as secondary content431 in FIG. 4C, the secondary content is combined with the aggregatedprimary content from step 508. The secondary content would precede theaggregated primary content, such as shown in FIG. 4C. In such an examplewhere the additional content is not the aggregated recorded commercialcontent from step 510, the secondary content that precedes the primarymay be retrieved from content retrieval component 319 in FIG. 3.

Proceeding to step 512, the aggregated portions and primary contentpreceded by the additional content is maintained. Maintenance may occurwithin a memory of a user device, such as memory 313 in user device 301.Thereafter, the maintained content may be played back by a user device,such as by playback component 315 in user device 301 in FIG. 3.

Although the example of FIG. 5 is described with respect to recordationof an episodic primary content, aspects of the present disclosure forrecording primary content and aggregating the portions is not solimited. The primary content may be a live event, such as a concertbeing distributed, or a sporting event. In such circumstances, aspectsof the present disclosure for implementation of recording of the primarycontent, e.g., the sporting event, separate from the commercial breaksmay still be implemented.

FIG. 8 illustrates an example process flow for implementing variousfeatures described herein. The process may be performed by one or morecomputing devices, such as the consumption device 113/115/116, userdevice 301, cloud storage 309, archive storage devices, controller 303,content source 305, and time interval database 307, alone or incombination. The discussion below refers to the steps being performed byone or a combination of these devices, but the system herein may bedistributed among a variety of devices, and the steps may be performed,individually or in combination, by any other networked device ifdesired, so the description herein may simply refer to the systemperforming the various steps. In step 801, a request is received. Therequest is to receive a television program. One example may be a requestby a home user to watch a particular television program on a television.

In step 802 a determination may be made as to whether commercial contentis to be included in an interspersed manner. FIG. 4A illustrates such ascenario where a television program, broken into four portions ofcontent, has commercial breaks between the portions. Such adetermination in step 802 may be based upon an indicator received from auser. For example, the request received in step 801 may include anindicator that the user desires to receive the television program withinterspersed commercials. In still other embodiments, the system may askthe user, after the initial request is received in step 801, as to thedesired format to receive the television program. In furtherembodiments, the system may determine whether to include interspersedcommercial content or whether to include commercial content in someother manner or even not at all. If interspersed commercial content isnot to be included, the process proceeds to step 804. If interspersedcommercial content is to be included, the process moves to step 803where the requested television program is distributed with interspersedcommercials. FIG. 4A is an illustrative example of the distribution instep 803.

Moving to step 804, a determination may be made as to whether commercialcontent is to be included upfront with the entire television programfollowing the commercial content. FIGS. 4B and 4C illustrate such ascenario where a television program, broken into four portions ofcontent, has all commercial content preceding the television program.Such a determination in step 804 may be based upon an indicator receivedfrom a user. For example, the request received in step 801 may includean indicator that the user desires to receive the television programwith commercials upfront. In still other embodiments, the system may askthe user, after the initial request is received in step 801, as to thedesired format to receive the television program. In furtherembodiments, the system may determine whether to include interspersedcommercial content or whether to include commercial content in someother manner or even not at all. If upfront commercial content is not tobe included, the process proceeds to step 806. If upfront commercialcontent is to be included, the process moves to step 805 where therequested television program is distributed with commercial contentupfront.

Proceeding to step 806, a determination may be made as to whethercommercial content is to be included elsewhere than interspersed orupfront. Such a scenario may be a television program, broken into twoportions of content, having all commercial content occur in the middleof the television program. Such a determination in step 806 may be basedupon an indicator received from a user. For example, the requestreceived in step 801 may include an indicator that the user desires toreceive the television program with commercials at the end. In stillother embodiments, the system may ask the user, after the initialrequest is received in step 801, as to the desired format to receive thetelevision program. In further embodiments, the system may determinewhether to include interspersed commercial content or whether to includecommercial content in some other manner or even not at all. Ifcommercial content is not to be included elsewhere, the process proceedsto step 808. If commercial content is to be included elsewhere, theprocess moves to step 807 where the requested television program isdistributed with commercial content elsewhere, such as at the end. Instep 808, the requested television program is distributed with nocommercial content.

Although example embodiments are described above, the various featuresand steps may be combined, divided, omitted, rearranged, revised and/oraugmented in any desired manner, depending on the specific outcomeand/or application. Various alterations, modifications, and improvementswill readily occur to those skilled in art. Such alterations,modifications, and improvements as are made obvious by this disclosureare intended to be part of this description though not expressly statedherein, and are intended to be within the spirit and scope of thedisclosure. Accordingly, the foregoing description is by way of exampleonly, and not limiting. This patent is limited only as defined in thefollowing claims and equivalents thereto.

1. A method comprising: receiving, by a device, a request to generate anaggregated commercials recording of a program; receiving a transmissioncomprising: segments of the program, and a plurality of commercialsinterspersed between the segments of the program; generating, based onthe request, the aggregated commercials recording, wherein theaggregated commercials recording comprises: an aggregation of theplurality of commercials, and an aggregation of the segments of theprogram; and sending the aggregation of the segments of the programpreceded by the aggregation of the plurality of commercials.
 2. Themethod of claim 1, wherein the program comprises: episodic content,content associated with a live event, or content associated with asporting event.
 3. The method of claim 1, further comprising receivingthe request to generate the aggregated commercials recording after atleast a portion of the program is output for display.
 4. The method ofclaim 1, further comprising aggregating each of the plurality ofcommercials sequentially.
 5. The method of claim 1, further comprisingstoring, in a single file, the aggregation of the segments of theprogram preceded by the aggregation of the plurality of commercials. 6.The method of claim 1, further comprising storing the aggregation of thesegments of the program separately from the aggregation of the pluralityof commercials.
 7. The method of claim 1, further comprising storing,prior to generating the aggregated commercials recording, an initialrecording of the program comprising the segments of the program and theplurality of commercials interspersed between the segments of theprogram.
 8. The method of claim 7, wherein the aggregated commercialsrecording is generated using the initial recording.
 9. The method ofclaim 1, wherein the aggregated commercials recording is generated afterreceiving a request to play back the aggregated commercials recording.10. A system comprising: a first device; and a second device, whereinthe first device is configured to send a request to generate anaggregated commercials recording of a program, and wherein the seconddevice is configured to: receive the request to generate the aggregatedcommercials recording; receive a transmission comprising: segments ofthe program, and a plurality of commercials interspersed between thesegments of the program; generate, based on the request, the aggregatedcommercials recording, wherein the aggregated commercials recordingcomprises: an aggregation of the plurality of commercials, and anaggregation of the segments of the program; and send the aggregation ofthe segments of the program preceded by the aggregation of the pluralityof commercials.
 11. The system of claim 10, wherein the second device isfurther configured to: receive the request to generate the aggregatedcommercials recording after at least a portion of the program is outputfor display.
 12. The system of claim 10, wherein the second device isfurther configured to: store, in a single file, the aggregation of thesegments of the program preceded by the aggregation of the plurality ofcommercials.
 13. The system of claim 10, wherein the second device isfurther configured to: store the aggregation of the segments of theprogram separately from the aggregation of the plurality of commercials.14. The system of claim 10, wherein the second device is furtherconfigured to: store, prior to generating the aggregated commercialsrecording, an initial recording of the program comprising the segmentsof the program and the plurality of commercials interspersed between thesegments of the program; and generate the aggregated commercialsrecording by generating the aggregated commercials recording using theinitial recording.
 15. The system of claim 10, wherein the second deviceis configured to generate the aggregated commercials recording afterreceiving a request to play back the aggregated commercials recording.16. A non-transitory, computer-readable medium storing instructionsthat, when executed, cause: receiving, by a device, a request togenerate an aggregated commercials recording of a program; receiving atransmission comprising: segments of the program, and a plurality ofcommercials interspersed between the segments of the program;generating, based on the request, the aggregated commercials recording,wherein the aggregated commercials recording comprises: an aggregationof the plurality of commercials, and an aggregation of the segments ofthe program; and sending the aggregation of the segments of the programpreceded by the aggregation of the plurality of commercials.
 17. Thenon-transitory, computer-readable medium of claim 16, wherein theinstructions, when executed, further cause: receiving the request togenerate the aggregated commercials recording after at least a portionof the program is output for display.
 18. The non-transitory,computer-readable medium of claim 16, wherein the instructions, whenexecuted, further cause: storing, in a single file, the aggregation ofthe segments of the program preceded by the aggregation of the pluralityof commercials.
 19. The non-transitory, computer-readable medium ofclaim 16, wherein the instructions, when executed, further cause:storing the aggregation of the segments of the program separately fromthe aggregation of the plurality of commercials.
 20. The non-transitory,computer-readable medium of claim 16, wherein the instructions, whenexecuted, further cause: generating the aggregated commercials recordingafter receiving a request to play back the aggregated commercialsrecording.